package com.anyou.mall.fin.service;

import java.util.List;

import com.anyou.common.core.domain.ApiResult;
import com.anyou.mall.fin.domain.StoreReconciliation;
import com.anyou.mall.fin.param.RevenueParam;
import com.anyou.mall.fin.param.TixRecordParam;
import com.anyou.mall.fin.vo.*;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

/**
 * 商家对账Service接口
 *
 * @author gaochaohao
 * @date 2022-04-25
 */
public interface IStoreReconciliationService extends IService<StoreReconciliation>
{
    /**
     * 查询商家对账
     *
     * @param storeReconciliationId 商家对账主键
     * @return 商家对账
     */
    public StoreReconciliationDetails selectStoreReconciliationByStoreReconciliationId(Long storeReconciliationId);

    /**
     * 查询商家对账列表
     *
     * @param storeReconciliation 商家对账
     * @return 商家对账集合
     */
    public List<StoreReconciliationVo> selectStoreReconciliationList(StoreReconciliation storeReconciliation);

    /**
     * 新增商家对账
     *
     * @param storeReconciliation 商家对账
     * @return 结果
     */
    public int insertStoreReconciliation(StoreReconciliation storeReconciliation);

    /**
     * 修改商家对账
     *
     * @param storeReconciliation 商家对账
     * @return 结果
     */
    public int updateStoreReconciliation(StoreReconciliation storeReconciliation);

    /**
     * 批量删除商家对账
     *
     * @param storeReconciliationIds 需要删除的商家对账主键集合
     * @return 结果
     */
    public int deleteStoreReconciliationByStoreReconciliationIds(Long[] storeReconciliationIds);

    /**
     * 删除商家对账信息
     *
     * @param storeReconciliationId 商家对账主键
     * @return 结果
     */
    public int deleteStoreReconciliationByStoreReconciliationId(Long storeReconciliationId);

    /**
     *
     * @param carPartsShopId
     * @return
     */
    List<StoreWithdrawalRecordVo> getRecord(Long carPartsShopId);

    /**
     * 我的收入
     * @param carPartsShopId
     * @return
     */
    StoreReconciliationDetails selectStoreReconciliationByCarPartsShopId(Long carPartsShopId);

    /**
     * 获取商家对账详情-累计收入/剩余可提现
     * @param carPartsShopId
     * @return
     */
    StoreReconciliationDetails1 selectStoreReconciliationByCarPartsShopId1(Long carPartsShopId);

    /**
     *  我的收入明细
     * @param param
     * @return
     */
    List<OrderAmountVo> selectStoreReconciliationByCarPartsShopId2(RevenueParam param);

    /**
     * 提现记录2
     * @param param
     * @return
     */
    List<StoreWithdrawalRecordVo> getRecord2(TixRecordParam param);
}
